package com.wgy.day30.Lambda表达式.无参数无返回值;

import com.wgy.day30.Lambda表达式.无参数无返回值.Cook;

/*
Lambda练习1:

需求: 给定一个厨子Cook 接口,内涵唯一的抽象方法makeFood,且无参数,无返回值.
      使用Lambda的标准格式,调用invokeCook方法,打印出"吃饭啦!"字样
*/
public class Demo02Lambda {

    public static void main(String[] args) {
        //使用面向对象的思想
        invokeCook(new Cook() {
            @Override
            public void makeFood() {
                System.out.println("吃饭啦");
            }
        });

        //使用Lambda表达式标准格式
        invokeCook(() -> {
            System.out.println("吃饭啦!");
        });

        //使用Lambda表达式省略格式
        invokeCook(() -> System.out.println("吃饭啦!"));

    }

    //定义一个方法,参数传递Cook接口,方法内部调用Cook接口中的方法makeFood
    public static void invokeCook(Cook cook) {
        cook.makeFood();
    }

}
